package com.jsmtr.rms.service;

import com.jsmtr.rms.entity.*;

import java.util.List;
import java.util.Map;


public interface IResumeService {

    UserResume getUserResume(String userid) throws Exception;

    List<UserEducation> getUserEducation(String rid) throws Exception; //教育背景

    /**
     * 教育背景
     * @param rid
     * @param orders
     * @return
     * @throws Exception
     */
    List<UserEducation> getUserEducationByOrder(String rid, Map<String, String> orders) throws Exception;

    List<UserWorkExperience> getUserWorkExperience(String rid) throws Exception; //工作经验

    List<UserTraining> getUserTraining(String rid) throws Exception; //培训经历

    List<UserRewardPunishment> getUserRewardPunishment(String rid) throws Exception; //获奖信息

    List<UserFamily> getUserFamily(String rid) throws Exception; //家庭成员

    @SuppressWarnings("rawtypes")
    void addResume(HRUsers user, List list, String uid) throws Exception;

    //生成简历编号
    String CreateResumeCode();

    //判断是否可以继续投简历（有一次放弃机会）
    boolean AllowSendResume(String pid, String userid) throws Exception;

    List<DUserResume> getDUserResumes(String pid) throws Exception;

    DUserResume getDUserResume(String id) throws Exception;

    UserResume getUserResumeByCard(String card) throws Exception;

    List<DUserEducation> getDUserEducation(String rid) throws Exception; //教育背景

    @SuppressWarnings("unchecked")
    List<UserEducation> getUserEducationZK(String rid) throws Exception;

    List<DUserWorkExperience> getDUserWorkExperience(String rid) throws Exception; //工作经验

    List<DUserTraining> getDUserTraining(String rid) throws Exception; //培训经历

    List<DUserRewardPunishment> getDUserRewardPunishment(String rid) throws Exception; //获奖信息

    List<DUserFamily> getDUserFamily(String rid) throws Exception; //家庭成员

    /*    
     * 根据方案和岗位查询用户是申请列表
     * @author cyx  
     * @date 2018/8/15 10:17
     * @param pid 方案ID
     * @param jid 职位ID
     * @param userid  用户名
     * @return java.util.List<com.jsmtr.rms.entity.DUserResume>  
     */ 
    Object findDUserByPlanJob(String pid, String jid, String userid) throws Exception;

    List<UserMajor> getMajors(String rid) throws Exception;

}
